package cn.iocoder.yudao.module.biz.dal.mysql.htHiddentroubleflow;

import java.util.*;

import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.yudao.module.biz.controller.admin.htHiddentrouble.vo.HtHiddentroublePageReqVO;
import cn.iocoder.yudao.module.biz.dal.dataobject.htHiddentroubleflow.HtHiddentroubleflowDO;
import org.apache.ibatis.annotations.Mapper;
import cn.iocoder.yudao.module.biz.controller.admin.htHiddentroubleflow.vo.*;

/**
 * 隐患流程信息 Mapper
 *
 * @author 芋道源码
 */
@Mapper
public interface HtHiddentroubleflowMapper extends BaseMapperX<HtHiddentroubleflowDO> {

    default PageResult<HtHiddentroubleflowDO> selectPage(HtHiddentroubleflowPageReqVO reqVO) {
        return selectPage(reqVO, new LambdaQueryWrapperX<HtHiddentroubleflowDO>()
                .eqIfPresent(HtHiddentroubleflowDO::getRectificationDeptId, reqVO.getRectificationDeptId())
                .eqIfPresent(HtHiddentroubleflowDO::getRectificationPeoId, reqVO.getRectificationPeoId())
                .orderByDesc(HtHiddentroubleflowDO::getId));
    }

    default List<HtHiddentroubleflowDO> selectList(HtHiddentroubleflowExportReqVO reqVO) {
        return selectList(new LambdaQueryWrapperX<HtHiddentroubleflowDO>()
                .eqIfPresent(HtHiddentroubleflowDO::getRectificationDeptId, reqVO.getRectificationDeptId())
                .eqIfPresent(HtHiddentroubleflowDO::getRectificationPeoId, reqVO.getRectificationPeoId())
                .orderByDesc(HtHiddentroubleflowDO::getId));
    }

    HiddentroubleflowJoinVO queryById(String id);

    List<HiddentroubleflowPageJoinVO> selectHiddentroublePage(HtHiddentroubleflowPageReqVO pageVO);

    Integer selectHiddentroubleCount(HtHiddentroubleflowPageReqVO pageVO);

    List<HtHiddentroubleflowExcelVO> getHtHiddentroubleExcelList(HtHiddentroubleflowExportReqVO exportReqVO);
}
